#ifndef _SDLJEU_H
#define _SDLJEU_H

#include <SDL/SDL.h>
#include <SDL/SDL_ttf.h>
#include "jeu.h"
#include "score.h"
#include "carte.h"
#include "contrat.h"

/**
    @brief sdl.h est le module nous permettant de jouer en sdl avec le graphisme
*/

typedef struct
{
	Jeu je;
	SDL_Surface* surface_ecran;
	SDL_Surface* surface_dos;
	SDL_Surface* surface_vert;
	SDL_Surface* surface_jeux;
	SDL_Surface* surface_contrat;
	SDL_Surface* surface_couleur;
	SDL_Surface* surface_ecran1;
	SDL_Surface* surface_ecran2;
	SDL_Surface* surface_score;
	SDL_Surface* surface_regles1;
	SDL_Surface* surface_regles2;
	SDL_Surface* surface_regles3;
	SDL_Surface* surface_regles4;
	SDL_Surface* score1;
	SDL_Surface* score2;

} SdlJeu;

/**
    @brief Affiche le joueur sud
    @param [in,out] pSdlJeu
    @return none
*/
void sdlAffsud(SdlJeu *pSdlJeu);

/**
    @brief Affiche le joueur nord
    @param [in,out] pSdlJeu
    @return none
*/
void sdlAffnord(SdlJeu *pSdlJeu);

/**
    @brief Affiche le joueur est
    @param [in,out] pSdlJeu
    @return none
*/
void sdlAffest(SdlJeu *pSdlJeu);

/**
    @brief Affiche le joueur ouest
    @param [in,out] pSdlJeu
    @return none
*/
void sdlAffouest(SdlJeu *pSdlJeu);

/**
    @brief initialise le jeu en sdl
    @param [in,out] pSdlJeu
    @return none
*/
void sdljeuInit(SdlJeu *pSdlJeu);

/**
    @brief affiche le jeu en sdl
    @param [in,out] pSdlJeu
    @return none
*/
void sdljeuAff(SdlJeu *pSdlJeu);

/**
    @brief boucle qui traite tous les cas d'action du jeu
    @param [in,out] pSdlJeu
    @return none
*/
void sdljeuBoucle(SdlJeu * pSdlJeu);

/**
    @brief affiche le pli
    @param [in,out] pSdlJeu
    @return none
*/
void sdlAffpli(SdlJeu *pSdlJeu);

/**
    @brief affiche le score
    @param [in,out] pSdlJeu
    @return none
*/
void sdlAffScore(SdlJeu *pSdlJeu);

#endif
